                                ArcFax
                                ======

This file contains news of features that appeared after the manual
was printed, notes on changes to the program, and other points
that may help. Please look through *all* of it.


Updates
=======

Release 1.20
============
Recompiled for 32 bits



Release 1.19
============
Batch window has a new entry 'Batch full warning' which allows you to enable
the warning messages when the batches are nearly full, along with an icon 
letting you set the number of entries at which the warning will be given.

The warning feature was introduced to protect those using ArcFax on pre RISC OS 4
filing systems which are limited to 77 files in a directory. Unless you
have RISC OS 4 and are running ArcFax on a filing system which does not have
any such limits you would be wise to not change the default settings of
warning on, and limit 70.

New function

void setbatchlimit(int batchlimit,int batchlimitn,int spare1,int spare2);

Where 'batchlimit' is an on/off flag and batchlimitn is the limit value.


It is possible to define a script function

int prefixnumber(string & number);
                                  
If you do this the function will be called before dialling, if it returns
non-zero the dial prefix will be used. If zero is returned no prefix is
used.




Release 1.18
============

Changes to handle long filenames. In particular it seems that an attempt to
load a fax with a filename longer than 12 chars lead to a 'not enough memory
to create this window' error.



Release 1.17
============

A large number of ArcFax system variables are now cached when the program
is run and new variables have been created for various ArcFax files. See this
excerpt from the !Run file.

Set ArcFax$Printfile Printer:
Set ArcFax$TXBatch <ArcFax$Dir>.TXBatch
Set ArcFax$RXBatch <ArcFax$Dir>.RXBatch
Set ArcFax$AutoRun <ArcFax$Dir>.AutoRun
Set ArcFax$Library <ArcFax$Dir>.Library
Set ArcFax$TeleDir <ArcFax$Dir>.Config.Tele-Dir
Set ArcFax$BatMan  <ArcFax$Dir>.Config.BatMan
Set ArcFax$Driver  <ArcFax$Dir>.Driver
Set ArcFax$Resources <ArcFax$Dir>.Resources
Set ArcFax$Schedule <ArcFax$Dir>.Config.Schedule
Set ArcFax$Server <ArcFax$Dir>.Server

The point of all this is that it will allow 2 or more copies of ArcFax to
run at the same time. At the simplest level just have 2 copies of ArcFax on
disc in different places and run them. Previously the problem was that
things like the paths for the RX and TX batch were used all the time
the program was running.


New function

void setbatchnames(string & fax,string & message,string & file,int flags);

This allows changing the default names used in the rxbatch for
various types of file. By default the values are "Fax", "Message", "File".

If bit 0 of the flags variable is set, then no attempt to add a number to the
name will be made.


Made compatible with Demon DFax faxes.

Added 'Open new fax window' option to batch config window. This controls
if the New Fax widow opens when a fax is printed. Previously this functionality
was combined with the 'TX batch pop up' option - if the batch opened
then the New Fax window did not and vice versa.

Added warning window if the TX or RX batches are nearly full.

Can now drag any writeable icon to another writeable icon or to
another program that will accept text files.

Can now drag any text file to a writeable icon.

Fixed ArcFaxFix module for SA.

Made control panel buttons like 'Receive' check that ArcFax is active,
and if not try to make it so. So you now only need to click on Receive
to activate the modem and receive the fax.

Added new {FaxMerge: <tx batch fax name>} command. The idea of this is to
allow mail merge generation of a cover page which will be automatically
added to another standard fax.
So suppose you want to send a 16 page fax to 20 people. The cover page
would be printed with {FaxMerge: bodytext} and {FaxTo: <merge name>} in,
where 'bodytext' is the name of another fax in the tx batch, which will
be appended to each fax sent.


Release 1.16
============
Recompiled with Cv5 - this means the program will not work on RISC OS 2. A
RISC OS 2 version is available on request.

The PrinterAF RISC OS 2 printer driver archive has been moved to the FunFax
disc.

Added 'show' to Group menu, allows groups to appear on the phone number/name
menus just like ordinary directory entries.

Added Class 8, generic Rockwell voice modem driver.


New Function
------------
void configurefaxheader(int shift,string & format);

This allows the position of the header on transmited faxes and its
format to be configured.

Shift is the number of lines down the header is superimposed on the fax.
In older versions of ArcFax the value was 0, a slightly bigger value
is probably desirable, and now the value is set to 8.

The standard format string is "%s at %s - page %d of %d". This is C style.
The first %s is the configured header string, the second %s the time. The two
%d's are the two page related integers. Some playing about is possible,
but the order of the parameters is fixed.

This function is called from the file !ArcFax.AutoRun.!Custom.


Release 1.15
============ 

Added modem drivers with support for USR Vi voice modems.

USR1V    is a Class 1   driver with voice extensions.
Class20V is a Class 2.0 driver with voice extensions.


New features
------------
In the {FaxTo: <name>} embedded command <name> may be a list of names and numbers,
delimited by slashes '/'

e.g.

{FaxTo: bob/carol}

Will try to send the fax to both 'bob' and 'carol'.


The Image processing options have been extended to allow scaling up as well as
down. This is useful because it allows a 90x180 dpi fax to be saved as 180x180.
Which the Sleuth OCR program can process - since it only handles square pixels.



New functions
-------------

Voice modems signal various events by outputing byte sequences of the
form <DLE><code>


void maskdle(int mask);

When mask has the value 1, all DLE sequences will be removed from the
normal received data stream, the <code> parts will be added to the DLE
code buffer.


int getdle(void);

Gets a DLE code from the DLE code buffer. Returns -1 if there are none.


int getdlet(int time);

Gets a DLE code or waits for time centiseconds. Whilst waiting, bytes
other than those in the DLE sequence will be read and thrown away.


void getallbytes(void);

Gets all the available bytes in the input buffer and throws them away.
Note that if maskdle() is enabled, DLE sequences will be separated out
and buffered.


void addpollfunction(string & name);
void rempollfunction(void);

Add and remove a function which will be called when ArcFax does a zero
poll - for example whilst waiting for the output buffer to empty.


void linkpoll(int time);

This controls if ArcFax will poll for new faxes being printed. If time is
0 it does not, otherwise it will poll every time centiseconds. The use
of this command is on networks. Usually users will have the ArcFaxFix
module loaded and in that case ArcFax will never poll. However on a network
where there is no upcall to show that a fax has been created, it is
necessary to enable polling by puting this command in a script file. By
increasing the time, you can lessen the polling load.


void setstate(int active);

Allows you to make ArcFax active or quiescent.



Release 1.14
============


Bug fixes
---------
There were several problems concerned with using the control panel for sending.
In particular, dial+send could end up initiating a call without having a fax
queued. Giving the result of a call which ended without anything being sent.
Dial+send and dial+receive also did not set the type of call correctly.


Release 1.13
============
Added Class 2.0 modem driver. Class 2.0 is a new version of the Class 2
standard. Initially it has appeared in US Robotics modems. Class 2 and Class
2.0 are *not* interchangeable - you must have the right modem driver for your
modem. The USR1 modem driver has been modified to implement USR's Class 1
adaptive answer scheme.



Release 1.12
============
New Features
------------
Add two buttons to New fax dialogue box. View opens a window on the new fax. 
Add opens the Add New Entry phone box window with the new number already
entered. This is useful because often the first time you send a fax to
someone you will type in their number, by clicking on Add you can
rapidly add their name to the phone directory at the same time.

If the remote ID is set up for a directory entry, then it will be used
to attach a name to entries in the log file for received faxes.

RX Batch now opens at first unread fax.

Now allow FaxName without FaxTo command.

Bug Fixes
---------
Sort on phone book now marks it as modified.
Stop viewers being closed whilst printing is in progress.
New ArcFaxFix module handles Print Illustration.
Delete of fax which New fax window is attached to now closes it.
Fix using desktop fonts for RISC PC etc.


Release 1.11
============

Revision 1
----------
On the RISC PC, ArcFax crashes - this is due to the old ArcFaxFix module
which is loaded in the !Run file (so it can be removed easily).
Now replaced module version 0.03 with 0.04 - tweeked for RISC PC.

Revision 0
----------
New feature. To the right of the fax name in the control panel there is
an icon which will show a tick if the fax tx/rx is OK, or a cross if not.

Add Acorns SerialDeviceDriver 0.22 module to Modules directory, add code
to load it to !Serial.
Add new System to FunFax disc.

Fix bug where dumper module produces bad faxes if image has too many black-
white transitions.
Fix bug where {FaxName:} leads to destination info being added to wrong fax.
Fix bug 1.10 will only work using block operations - problems if disabled for
dual serial card.
Fix bug that direct send does not work.
Fix bug that rename of the last entry in a batch to a name which would
appear after the original name, leads to a corrupt batch entry.
Fix bug 2D coding rx produced faxes that have a height which is too big.
Warn when not enough memory to render a fax.
Fix bug with Class 2 driver not reporting FHNG code correctly
(incidentally a list of these codes is in Info.Class2_zip)
Fix bug with TWAIN dialogue boxes being opened twice, grey menu options.


Release 1.10
============

Revision 1
----------
Acorns Printers 1.22, requires printer definition files to
have some character mappings - add a dummy mapping.
Recompile dumper module, to cope with other changes.

Revision 0
----------
Include Bubble Help. To use this, double click it, and then press
Alt + F1.

Alternatively you can save some memory, by deleting the Help file
from the Resources.UK directory.


Use on a network
================
This is the plan;

(a) One machine (the host) has ArcFax and the modem running on it.

(b) The other machines (the clients) have !Printers on. You must install
PDumperAF in !Printers (see the Appendix in the ArcFax manual). Secondly the
module ArcFaxFix (from !ArcFax.Resources) must be loaded on each client -
probably from the !Run file of !Printers,or the machines !Boot file.

(c) When you follow the instructions about setting up the printer driver,
instead of entering a path of ArFax:ArcFaxTmp.Fax you must enter a path
which points via the network to the ArcFaxTmp directory in the host ArcFax,
and of course the file name 'Fax' should be appended to it.

(d) Clients can now send faxes, by printing to the ArcFax printer driver in
the usual way. Routing information, must be given by the use of embedded
commands {} in the document being printed e.g. {FaxTo: 0705-324934}.


Archives
========
Most of the Archives on this disc, are deflation Zips. You will need
SparkPlug 2.23 (on the FunFax disc), Spark 2.23, or SparkFS 1.17 or 
later. Note that if you are using SparkFS, the Zip module must be
loaded.
               
Modems
======
The file !Modems contains a list of modems ArcFax is known to work with and
any points to watch for with modems in general.

Printers
========
If you use RISC OS 3 and have to use an old style printer driver i.e. Laser
Direct, then !Printers will refuse to run after the old printer driver has 
been used. The fix is to amend the !Printers.!Run file as follows;

Set File$Type_FC6 PrntDefn
|************************************ Add the next four lines ************
RMKill   Printers
RMReinit Printers
RMKill   Pdriver
RMReinit Pdriver
RMEnsure Printers        0.27 Error !Printers needs Printers 0.27
RMEnsure ColourTrans     0.52 /System:Modules.Colours
RMEnsure ColourTrans     0.52 Error Please update your copy of !System to one containing ColourTrans 0.52 or later


Original A5000's
===============
If and only if you have one of these fitted with RISC OS 3.00, then you
should note that RISC OS 3.00 will not accept the Squashed printer
configuration files used by RISC OS 3.10. The file 'Info.ArcFaxA5' should
therefore be used instead of the file ArcFax.

RISC OS 3.00 has serious problems and if at all possible you should upgrade.



Notes
=====
PrinterAF, System, Scrap and Sysmerge appear by kind permission of Acorn
Computers which retains copyright on them.

Thanks to John Ferguson, for his work on the templates and sprites.
          Miles Sabin, for allowing me to use Bubble Help.
          Chris Manning, for testing.




Release 1.20 December 2002


(c) Copyright David Pilling September 1992.


======

www.davidpilling.com